package d0517_集合;

import java.util.*;

public class List类 {
	
	public static void main(String[] args) {
		
		List l1 = new ArrayList();
		List l2 = new LinkedList();
		
		l1.add(100);
		l1.add(true);
		
		l2.add('A');
		l2.add(3.14);
		
		System.out.println(l1);
		System.out.println(l2);
		
		/**
		 * 所有的集合类都是 "泛型类"
		 */
		// l3 集合只能存放 Integer 类型
		List<Integer> l3 = new ArrayList<Integer>();
		l3.add(100);
		l3.add(101);
		l3.add(166);
		l3.add(177);
		// l3.add(true);  泛型对象只能接收指定类型参数
		System.out.println("第一个元素: "+l3.get(0));  // 获取第一个元素
		System.out.println("最后一个元素: "+l3.get(3));  // 获取最后一个元素
		// l3.size() 获取元素个数
		System.out.println("最后一个元素: "+l3.get(l3.size()-1));  // 获取最后一个元素
		l3.add(2, 200);  // 在第3个元素前添加元素
		System.out.println(l3) ;
		l3.remove(3);  // 删除第四个
		System.out.println(l3) ;
		
		System.out.println("========== 普通for循环 ============");
		for (int i = 0; i < l3.size(); i++) {
			System.out.println(l3.get(i));
		}
		
		System.out.println("========== 增强for循环 ============");
		for ( Integer i : l3) {
			System.out.println(i);
		}
		
		System.out.println("========== 使用迭代器循环 ============");
		// 获取迭代器
		Iterator<Integer> it = l3.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
		
		
	}

}
